import request from './request'

/**
 * 获取角色列表
 * @param {Object} params 查询参数
 * @param {number} params.page 页码
 * @param {number} params.pageSize 每页条数
 * @param {string} params.name 角色名称搜索
 * @param {string} params.label 角色标识搜索
 * @returns {Promise} 返回角色列表
 */
export const getRoleList = (params) => {
  return request({
    url: '/roles',
    method: 'GET',
    params
  })
}

/**
 * 获取所有角色
 * @returns {Promise} 返回所有角色列表
 */
export const getAllRoles = () => {
  return request({
    url: '/roles/list',
    method: 'GET'
  })
}

/**
 * 根据ID查询角色
 * @param {number} id 角色ID
 * @returns {Promise} 返回角色信息
 */
export const getRoleById = (id) => {
  return request({
    url: `/roles/${id}`,
    method: 'GET'
  })
}

/**
 * 添加角色
 * @param {Object} data 角色信息
 * @param {string} data.name 角色名称
 * @param {string} data.label 角色标识
 * @param {string} data.remark 备注
 * @returns {Promise} 返回添加结果
 */
export const addRole = (data) => {
  return request({
    url: '/roles',
    method: 'POST',
    data
  })
}

/**
 * 修改角色
 * @param {Object} data 角色信息
 * @param {number} data.id 角色ID
 * @param {string} data.name 角色名称
 * @param {string} data.label 角色标识
 * @param {string} data.remark 备注
 * @returns {Promise} 返回修改结果
 */
export const updateRole = (data) => {
  return request({
    url: '/roles',
    method: 'PUT',
    data
  })
}

/**
 * 删除角色
 * @param {number} id 角色ID
 * @returns {Promise} 返回删除结果
 */
export const deleteRole = (id) => {
  return request({
    url: `/roles/${id}`,
    method: 'DELETE'
  })
}